function [brewer_prob_ub, brewer_prob_lb] = ...
    sim_brewer_entry(max_profit_top_vec, min_profit_top_vec, brewer_fc,...
    brewer_ind_sig, para_sig, brewer_scope_x, fc_err)

sim_max_profit = max_profit_top_vec + brewer_fc ...
    + (brewer_ind_sig*para_sig(:)).*fc_err; %N_mkt*N_brewer_dev x max_N_brewer_prod x 1 x R_fc
sim_max_positive_profit = sum((sim_max_profit>0).* sim_max_profit, 2, 'omitnan'); 
sim_max_max_profit = max(sim_max_profit, [], 2); %N_mkt*N_brewer_dev x 1 x 1 x R_fc

sim_max_positive_profit(sim_max_positive_profit==0) = ...
    sim_max_max_profit(sim_max_positive_profit==0);

sim_min_profit = min_profit_top_vec + brewer_fc ...
    + (brewer_ind_sig*para_sig(:)).*fc_err;
sim_min_positive_profit = sum((sim_min_profit>0).* sim_min_profit, 2, 'omitnan');
sim_max_min_profit = max(sim_min_profit, [], 2);
sim_min_positive_profit(sim_min_positive_profit==0) = ...
    sim_max_min_profit(sim_min_positive_profit==0);

brewer_prob_ub = squeeze(mean((sim_max_positive_profit+brewer_scope_x)>0, 4));
brewer_prob_lb = squeeze(mean((sim_min_positive_profit+brewer_scope_x)>0, 4));